* {
  box-sizing: border-box;
}

body {
  background-color: #242333;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  margin: 0;
}

.container {
  perspective: 1000px;
  width: 470px;
}

.screen {
  background-color: #fff;
  height: 70px;
  width: 100%;
  transform: rotateX(-45deg);
  box-shadow: 0 3px 10px rgba(255, 255, 255, 0.7);
  color: #242333;
  text-align: center;
  line-height: 70px;
  font-size: 30px;
}

.seat {
  background-color: #444451;
  height: 40px;
  width: 45px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

/* 
座位区域和荧幕间隔 50px。
座位区域每一行包含 8 个座位。
第 2 列和第 6 列旁边都是走廊，需要和下一列间隔 30px，其他列都只需要间隔 10px。 
*/
/* 座位区域距离荧幕40+10px */
.seat-area {
  margin-top: 40px;
  width: 470px;
  /* 行内灵活布局 */
  display: flex;
  /* 当一行seat超出宽度时，自动换行 */
  flex-wrap: wrap;
  /* 使seat在seat-area内居中 */
  justify-content: center;
}
.seat {
  margin-top: 10px;
}

/* 
走廊间隔
选中seat每8个中的第2、6个
 */
.seat:nth-child(8n + 2),
.seat:nth-child(8n + 6) {
  margin-right: 30px;
}

/* 
座位间距
每8个中的除2、6个加10px间距
*/
.seat:nth-child(8n + 1),
.seat:nth-child(8n + 3),
.seat:nth-child(8n + 4),
.seat:nth-child(8n + 5),
.seat:nth-child(8n + 7) {
  margin-right: 10px;
}
